package com.alameda.common.commonpent.commonback.api;

import com.alameda.common.base.dto.CommonDTO;

import java.util.HashMap;
import java.util.List;

/**
 * 通用后端
 *
 * @author Lv
 * @date 2024/2/19
 */
public interface CommonBackTemplate<T> {
    /**
     * 通用获取详情
     *
     * @param commonDTO 通用后端信息
     * @return
     */
    T get(CommonDTO commonDTO);

    /**
     * 通用逻辑删除
     *
     * @param commonDTO 通用后端信息
     * @return
     */
    T remove(CommonDTO commonDTO);

    /**
     * 执行查询sql操作 无逻辑删除拦截处理
     *
     * @param sql 查询语句
     * @return
     */
    List<HashMap> executeFind(String sql);

    /**
     * 执行删除sql操作 物理删除
     *
     * @param sql 删除语句
     * @return
     */
    Integer executeDelete(String sql);
}
